#########################################################################
## 
## Copyright (C) 2002-2003, Karlsruhe University
##
## File path:	util/piggybacker/Makefile.in
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## 1. Redistributions of source code must retain the above copyright
##    notice, this list of conditions and the following disclaimer.
## 2. Redistributions in binary form must reproduce the above copyright
##    notice, this list of conditions and the following disclaimer in the
##    documentation and/or other materials provided with the distribution.
## 
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
## ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
## $Id: Makefile.in,v 1.2 2006/02/23 21:02:30 ud3 Exp $
##
#########################################################################

srcdir=		@srcdir@
top_srcdir=	@top_srcdir@
top_builddir=	@top_builddir@

include $(top_srcdir)/Mk/l4.base.mk
include $(top_srcdir)/util/piggybacker/piggyback.mk

TARGET=	$(ARCH)-loader
PROGRAM_DEPS=	$(SIGMA0) $(ROOT_TASK) $(KERNEL)

SRCS=	main.cc crt0.S io.cc ../common/ieee1275.cc ../common/kip.cc \
	../common/string.cc ../common/1275tree.cc

CFLAGS+=	-fno-builtin -I$(top_srcdir)/util/piggybacker/include
CXXFLAGS+=	-fno-rtti

LDS_powerpc64=	$(top_srcdir)/util/piggybacker/ofppc64/ofppc64.lds

CFLAGS_powerpc64+=	-msoft-float -mminimal-toc
CPPFLAGS_powerpc64+=	-msoft-float -mminimal-toc

donote: donote.cc
	g++ -o donote $(top_srcdir)/util/piggybacker/ofppc64/donote.cc

pre-all: donote
	@if test ! -d ../common; then mkdir ../common; fi

include $(top_srcdir)/Mk/l4.prog.mk

.INTERMEDIATE: lds.tmp
lds.tmp: $(LDS_$(ARCH))
#	@$(CPP) $(PPFLAGS) -P -C $< -o $@
	cp $< lds.tmp

$(TARGET): $(MODULES) $(OBJS) lds.tmp
	@echo "Linking $(NAME) ($(TARGET))"
	$(LD) $(LDFLAGS) -Tlds.tmp -o $@ $(OBJS) $(MODULES) $(LIBS)
	@$(STRIP) -g $@
	@$(OBJCOPY) -O elf32-powerpc $@ $@.32
	@mv $@.32 $@
	@$(OBJCOPY) -O binary $@ $@.bin
	@./donote $@

all: $(TARGET)
